import collections

Card = collections.namedtuple("Card",['rank','suit'])

class FrenchDeck():
    ranks = [str(n) for n in range(2,11)] + list('JQKA')
    suits = 'spades diamonds clubs hearts'.split()
    

    def __init__(self):
        self._cards = [Card(rank,suit) for suit in self.suits for rank in self.ranks]

    def __len__(self):
        return len(self._cards)

    def __getitem__(self,position):
        return  self._cards[position]


def main():
    deck = FrenchDeck()
    suit_values = dirt(spades = 3,heart = 2,diamonds = 1 ,clubs = 0)
    def spades_high(card):
        rank_value = FrenchDeck.ranks.index(card.rank)
        
    for card in reversed(deck):
        print(card)

if __name__ == "__main__":
    main()